Namespace SelectChar

    Module mSelCharVars

        Public Const MaxNameLen As Integer = 25

        Public bIsBusy As Boolean
        Public sStateNotice As String

        '[]========[ SELECT SCREEN ]========[]
        Public CharList As EvoLib.Protocol.SelCharList

        Public rNew As Rectangle
        Public rDelete As Rectangle
        Public rStart As Rectangle
        Public rExit As Rectangle

        Public bHoverNew As Boolean
        Public bHoverDelete As Boolean
        Public bHoverStart As Boolean
        Public bHoverExit As Boolean

        'animation framecounts for the chars, dimensions are: class,sex,animation(0-3)
        Public selanimCounts(,,) As Integer = {{{11, 20, 12, 8}, {11, 11, 11, 12}}, {{11, 12, 11, 11}, {11, 18, 11, 9}}, {{11, 17, 20, 12}, {11, 17, 11, 10}}}
        Public selanimSounds(,) As String = {{"JMMSel.wav", "JWMSel.wav"}, {"SMMSel.wav", "SWMSel.wav"}, {"DMMSel.wav", "DWMSel.wav"}, {"", ""}}

        '[]========[ CREATE SCREEN ]========[]
        Public createanimCounts(,) As Integer = {{18, 16}, {15, 17}, {17, 15}, {12, 20}}
        Public createanimSounds(,) As String = {{"JMCre.wav", "JWCre.wav"}, {"SMCre.wav", "SWCre.wav"}, {"DMCre.wav", "DWCre.wav"}, {"", ""}}

        Public bCreateScreen As Boolean

        Public bCreateClass As EvoLib.Protocol.CharacterJobs
        Public bCreateGender As EvoLib.Protocol.Gender

        Public rBtnTao As Rectangle
        Public rBtnWar As Rectangle
        Public rBtnSor As Rectangle
        Public rCreateOk As Rectangle
        Public rCreateCancel As Rectangle
        Public rCreateName As Rectangle
        Public rCreateNameBox As Rectangle

        Public bHoverBtnTao As Boolean
        Public bHoverBtnWar As Boolean
        Public bHoverBtnSor As Boolean
        Public bHoverBtnSin As Boolean

        Public bHoverCreateOk As Boolean
        Public bHoverCreateCancel As Boolean
        Public bHoverCreateName As Boolean

        Public Const sCreateWarText As String = "Warriors are good at close combat due to their superior resilience and power. They can learn various forms of martial art ranging from basic swordsmanship to special sword art like " & Chr(34) & "Half Moon" & Chr(34) & " and they become truly formidable when their destructive power and skills get combined at a later stage. Although they are vulnerable against ranged attack, they are easy to control and reach high levels faster than the other classes, thus making the class more suitable for beginners."
        Public Const sCreateSorText As String = "Sorcerers can cast a colorful array of magic spells so they are interesting and fun to play with. They can hit their enemy regardless of terrain but have limited close combat capability due to their weak physical strength. Because of their characteristics, they suffer much during early stage when they have no magic spell to cast but as their levels get higher, they can be truly powerful with their impressive magic spells. Sorcerers have to check their potion supply all the time, so they can be difficult for beginners to play with."
        Public Const sCreateTaoText As String = "Taoists are the disciples of Taoism. They are also quite good at martial art though not as good as warriors. Their study on life and death is advanced so they have profound knowledge of medicine and the internal flow of human energy. That's why they can use " & Chr(34) & "healing" & Chr(34) & " as one of their primary skills while they can produce several types of lethal poison. Inexperienced users will have a hard time mastering how to play as a Taoist. However, Taoists are well balanced either in offense and defense and also have fairly decent ranged-attack and close combat capability so they are all-round characters."
        Public Const sCreateSinText As String = "Assasin not avaliable yet!"

        Public iCreateWarTextHeight As Integer
        Public iCreateSorTextHeight As Integer
        Public iCreateTaoTextHeight As Integer
        Public iCreateSinTextHeight As Integer

        Public cCreateClassTextBoxColorBG As Color = Color.FromArgb(128, 144, 144, 144)
        Public cCreateClassTextBoxColorBorder As Color = Color.FromArgb(255, 144, 144, 144)

    End Module

End Namespace
